<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">   

    <ui:composition template="/templates/interna.xhtml">

	<ui:define name="breadcrumb">

	    <h:form>

		<p:breadCrumb>
		    <p:menuitem value="#{msg.principal}"/>
		    <p:menuitem value="#{msg.cadastros}"/>
		    <p:menuitem value="#{msg.subMenuTabelasBasicas}"/>
		    <p:menuitem value="#{msg.subMenuCadastroGruposUsuarios}"/>
		</p:breadCrumb>

	    </h:form>    

	</ui:define>

	<ui:define name="corpo">

	    <h:form id="fPrincipal">

		<p:fieldset id="fsGruposUsuarios" legend="#{msg.gruposUsuarios}" >
                    
                    <div align="center">
                        <h:panelGrid columns="2">
                            <p:outputLabel for="somSistema" value="#{msg.sistema}: "/>
                            <p:selectOneMenu id="somSistema" value="#{grupoUsuarioMB.sistema}" style="width: 20em">
                                <f:selectItems value="#{grupoUsuarioMB.sistemas}"/>
                                <p:ajax event="change" process="@this" update="@form" listener="#{grupoUsuarioMB.inicializar()}" onstart="painelStatus.show();" oncomplete="painelStatus.hide();"/>
                            </p:selectOneMenu>                        
                        </h:panelGrid>
                    </div>
                    
		    <div align="left" style="margin-left: 82px">
			<p:dataTable id="dtGruposUsuarios"
				     value="#{grupoUsuarioMB.grupoUsuarioDataModel}"
				     var="grupo"
				     selectionMode="single"
				     style="width: 801px"
				     rowKey="#{grupo.id}"
				     selection="#{grupoUsuarioMB.grupoSelecionado}"
				     emptyMessage="#{msg.grupoUsuarioNenhumGrupoAdicionado}"
				     scrollable="true"
				     scrollHeight="100"
				     scrollWidth="825">

			    <p:ajax event="rowSelect" listener="#{grupoUsuarioMB.aoSelecionarLinha}" update=":fPrincipal:plAssociacaoGrupos"/>  

			    <p:column headerText="#{msg.grupoUsuarioCodigo}" style="width: 150px; text-align: center">
				#{grupo.id}
			    </p:column>

			    <p:column headerText="#{msg.grupoUsuarioNome}" style="width: 350px">
				#{grupo.nome}
			    </p:column>

			    <p:column headerText="#{msg.grupoUsuarioSistema}" style="width: 150px">
				#{grupo.sistemaStr}
			    </p:column>
                            
			    <p:column headerText="#{msg.acoes}" style="width: 148px; text-align: center">
				<p:commandButton id="btAddUsuarios" 
						 icon="ui-icon-person" 
						 title="#{msg.grupoUsuarioAdicionarUsuarios}" 
						 action="#{grupoUsuarioMB.configurarUsuariosAdicionados}"
						 oncomplete="pnSelecionarUsuarios.show();"
						 update=":fUsuarios:tbUsuarios"
						 disabled="#{!loginUsuario.possuiPrivilegio('GERENCIAR_GRUPO_USUARIO_MANTER')}">
				    <f:setPropertyActionListener value="#{grupo}" target="#{grupoUsuarioMB.grupoSelecionado}"/>
				</p:commandButton>
				<p:commandButton id="btRemoverGrupo" 
						 action="#{grupoUsuarioMB.limparDadosGrupo}" 
						 icon="ui-icon-closethick" 
						 onclick="pnConfirmacao.show()"
						 title="#{msg.remover}"
						 disabled="#{!loginUsuario.possuiPrivilegio('GERENCIAR_GRUPO_USUARIO_MANTER')}">
				    <f:setPropertyActionListener value="#{grupo}" target="#{grupoUsuarioMB.grupoSelecionado}"/>
				</p:commandButton>
			    </p:column>
			</p:dataTable>
		    </div>
                    
		    <div class="espacamento"/>
                    
		    <div align="left" style="margin-left: 82px">
			<p:commandButton icon="ui-icon-circle-plus" value="Grupo" onclick="pnNovoGrupo.show();" disabled="#{!loginUsuario.possuiPrivilegio('GERENCIAR_GRUPO_USUARIO_MANTER')}"/>
		    </div>
                    
		</p:fieldset>

		<div class="espacamento"/>

		<p:fieldset id="fsAssociarDireitosAoGrupo" legend="#{msg.grupoUsuarioAssociarDireitosAoGrupo}" >
		    <div align="left" style="margin-left: 3em">
			<p:pickList id="plAssociacaoGrupos"
				    value="#{grupoUsuarioMB.direitosSistema}"
				    var="direitoSistema"
				    converter="direitoSistemaConverter"
				    itemValue="#{direitoSistema}"
				    itemLabel="#{direitoSistema.descricao}"
				    disabled="#{grupoUsuarioMB.grupoUsuarioDataModel.rowCount le 0 or !loginUsuario.possuiPrivilegio('GERENCIAR_GRUPO_USUARIO_MANTER')}"
				    transient="false">

			    <f:facet name="sourceCaption">#{msg.permissaoUsuarioDireitosSistema}</f:facet>  
			    <f:facet name="targetCaption">#{msg.permissaoUsuarioDireitosGrupo}</f:facet>

			</p:pickList>
		    </div>
		</p:fieldset>

		<div class="espacamento"/>

		<div align="left">
		    <p:commandButton value="#{msg.salvar}" 
				     action="#{grupoUsuarioMB.salvar}"
				     icon="ui-icon-disk"
				     process="@form"
				     oncomplete="scrollToTop('global');"
				     rendered="#{loginUsuario.possuiPrivilegio('GERENCIAR_GRUPO_USUARIO_MANTER')}"/>
		    <p:spacer width="2"/>		
		    <p:commandButton value="#{msg.voltar}"
				     action="#{grupoUsuarioMB.voltar}"
				     icon="ui-icon-arrowreturnthick-1-w"
				     ajax="false"
				     immediate="true"/>
		</div>

	    </h:form>

	    <ui:include src="/restrito/painel_confirmacao_ajax.xhtml">
		<ui:param name="id" value="pnConfirmacao"/>
		<ui:param name="mensagem" value="#{msg.deseja_remover}"/>
		<ui:param name="bean" value="#{grupoUsuarioMB}"/>
		<ui:param name="action" value="remover"/>
		<ui:param name="update" value=":fPrincipal"/>
	    </ui:include>

	    <ui:include src="/restrito/cadastro/grupousuario/dialog_adicionar_grupo.xhtml"/>
	    <ui:include src="/restrito/cadastro/grupousuario/dialog_selecionar_usuario.xhtml"/>

	</ui:define>

    </ui:composition>


</html>
